1. Field of the Invention
The present invention relates to a graphics display system, and in particular to raster type graphics display systems.
2. Description of the Prior Art
Graphics display systems are systems for generating images on an electronic display device from a previously generated digital data base. Graphic systems generate two-dimensional images from either two or three dimensional (3-D) object descriptions. The object descriptions are manipulated to provide images of the object as viewed from various defined viewing positions or perspectives. The following description is primarily directed to systems capable of operating upon 3-D object descriptions. Such systems are inherently capable of operation upon 2-D object descriptions. Graphic display systems tend to be of two basic types: vector display (stick figure) systems, and raster-scan video systems. Raster systems, in turn, are generally of two distinct types: real-time digital scene generators (visual simulators) and general purpose image buffer based systems, incapable of real-time image generation. However, the vector type graphics systems are incapable of providing a solid model, and the stick figure images generated tend to be confusing since lines that would normally be hidden by solid portions of the object are visible to the observer.
Examples of such vector systems are Evans & Sutherland Model PS-3000, and Vector General Model 3303. Reference in this regard is also made to U.S. Pat. Nos. 3,639,736 and 3,684,876 issued to I. Sutherland on Feb. 1, 1972 and Aug. 15, 1982, respectively.
Raster-scan systems, on the other hand, are capable of providing an apparently solid image. Real-time raster-scan systems utilize considerable highly specialized electronic circuits in order to generate a complete image within one image frame scan time (typically one-thirtieth of one second). The less expensive non-real time raster scan systems generally maintain a frame buffer having a respective addressable memory cell associated with each picture element (pixel) of the display device. The display device is typically a cathode-ray tube (CRT) having a 512 by 512 matrix of pixels. To display each scene (frame) of data, the memory matrix is scanned to drive the raster scan of the CRT.
In a standard system, the data base is a description of a world model consisting of one or more objects. Each object is nominally represented by a set of planar polygonal surfaces. Each polygon, in turn, is represented in the data base by the coordinates (x, y, z) of its respective vertices within a chosen coordinate system, and the intrinsic vertex color intensities (red, green, blue). The succeeding vertices in a polygon are provided in a conventional order e.g., counter clockwise.
To generate an image, a particular viewing position in the environment, a viewing direction and a field of view are specified. The processing typically involves translating the coordinates of the vertices into a new coordinate system relating to the specified viewing position and direction, and a clipping process is performed to eliminate portions of the polygon outside of the current field of view. The polygon data is then scaled to provide proper perspective, and transformed (if necessary) into coordinates of the display device.
The above-described calculations may be performed in general purpose or special purpose computers. Various commercial systems which provide the above described geometric transformations in real time are available, such as the Vector General 3303, or Evans and Sutherland PS-300. For a detailed description of such techniques, reference is made to: Chapter 22 of Newman and R. F. Sproull, "Principals of Interactive Computer Graphics," second edition, McGraw Hill 1979; and Chapter 8 of J. D. Foley and H. VanDam, "Fundamentals of Interactive Computer Graphics," Addison-Westley 1982.
The intrinsic color intensity at each vertex is then modified by a function of the light reflected toward the viewer at the vertex, the direction and distances to light sources, the surface reflectivity and various other factors which may be desired.
A calculation is then performed to determine which pixels in each polygon would be visible to the viewer. For a description of prior art visibility calculation techniques, reference is made to: Sutherland et al, "A Characterization of Ten-Hidden Surface Algorithms," Computing Surveys 6(1):1March 1974.
The color intensity values for each pixel are then computed, typically by interpolation from the respective intensity values at the polygon vertices.
The visibility and shading and color computations are exceedingly time consuming in that individual visibility determinations and intensity values must be determined for each of more than 250 thousand individual pixels in the 512 by 512 matrix. Accordingly, the real time digital scene generation systems (capable of providing real time operation) are exceedingly expensive.